home *** CD-ROM | disk | FTP | other *** search
- /* ======================================================================== */
- /* file: array.dem */
- /* Indices problems */
-
- SUBSCRMAP:TRUE$
- /*
- THIS BATCH FILE ILLUSTRATES VARIOUS NEW ARRAY CAPABILITIES AVAILABLE
-
- WHICH ARE COMPLETELY COMPATIBLE WITH THE EXISTING SCHEME.
-
- MAPPING IN THIS CONTEXT MEANS DISTRIBUTE THE NAME OVER THE STRUCTURE
-
- INDICATED BY THE SUBSCRIPTS.
-
- INCLUDED ARE IMPLIED MAPPING USING LISTS AS SUBSCRIPTS,
-
- GENERALIZED ELEMENT EXTRACTION FROM LIST OR MATRIX STRUCTURES,
-
- IMPLIED ASSIGNMENT MAPPING, AND RECURSIVE LIST STRUCTURES.
-
- COMPATIBILITY WITH HASHED ARRAYS AND DECLARED ARRAYS IS SHOWN.
-
- FIRST CONSIDER USING LIST STRUCTURES AS SUBSCRIPTS. A,B, AND C
-
- BELOW CAN BE ARRAYS, HASHED ARRAYS, LIST STRUCTURES, MATRICES OR
-
- UNDEFINED.
-
- */
-
-
- (A[1]:FIRST,A[2]:SECOND);
- A[[1,2]],EVAL;
- L:[3,2,1];
- L[3];
- L[1];
- ''L[1];
- L[1],EVAL;
- MIDDLE&&MAT:MATRIX([Q,V],[W,U]);
- MAT[1];
- MAT[[1,2],[1,2]],EVAL;
- MAT[[1,2]],EVAL;
-
- /*
- ASSIGNMENT MAPS CAN BE CARRIED OUT WITH "::" OR (''FOO):
-
- */
- D[ [1,2] ]::99;
- D[1];
- (''MAT):0;
- Q;
- MAT;
- LL[''L]::L;
- LL[1];
-
-
-
- /*
- RECURSIVE LIST STRUCTURES:
-
- */
- X:[X,Y];
- Y:[Y,'X];
- H['X,'Y];
- %,EVAL;
- %,EVAL;
- %,EVAL;
-
- /*
- MAPPING A FUNCTION ON A LIST STRUCTURE
- */
- FULLMAPL(FOO,[[A,B],[C,D]]);
- FULLMAPL(FUNC,'[AA+BB,'[AA,BB],[AA,BB],[3,4]]);
- DSL:'[AS+BS,[DS,ES],'[GS,HS],144];
- F(X):=X**2;
- FUNC:F$
- FULLMAPL(FUNC,DSL);
-
-
-
- /*
- TO COME: SHAPING, GENERAL REDUCTION, GENERAL CONTRACTION OR EXPANSION
-
- (INNER AND OUTER PRODUCTS), ARITHMETIC, THE WORLD, THE UNIVERSE
-
- */
- FOOBAR;
-